From 23903dead4065ba17afab115146883b6e3abc44c Mon Sep 17 00:00:00 2001 From: Jan Heller Date: Tue, 20 May 2008 22:11:12 +0000 Subject: [PATCH] fallback to floor function when rint function is not available. 2008-05-21 Jan Heller * babl/babl-internal.h: * babl/base/type-u16.c: * babl/base/type-u32.c: * babl/base/type-u8.c: * extensions/CIE-Lab.c: * extensions/gegl-fixups.c: * extensions/gggl-lies.c: * extensions/gggl.c: * extensions/gimp-8bit.c: * extensions/util.h: fallback to floor function when rint function is not available. * configure.ac: added check for rint function. svn path=/trunk/; revision=313 --- ChangeLog | 16 ++++++++++++++++ babl/babl-internal.h | 10 ++++++++++ babl/base/type-u16.c | 3 +-- babl/base/type-u32.c | 3 +-- babl/base/type-u8.c | 3 +-- configure.ac | 2 ++ extensions/CIE-Lab.c | 3 +-- extensions/gegl-fixups.c | 3 +-- extensions/gggl-lies.c | 3 +-- extensions/gggl.c | 3 +-- extensions/gimp-8bit.c | 3 +-- extensions/util.h | 7 +++++++ 12 files changed, 43 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index 215991c..c6cf2cc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +2008-05-21 Jan Heller + + * babl/babl-internal.h: + * babl/base/type-u16.c: + * babl/base/type-u32.c: + * babl/base/type-u8.c: + * extensions/CIE-Lab.c: + * extensions/gegl-fixups.c: + * extensions/gggl-lies.c: + * extensions/gggl.c: + * extensions/gimp-8bit.c: + * extensions/util.h: fallback to floor function when rint function + is not available. + + * configure.ac: added check for rint function. + 2008-05-20 Jan Heller * extensions/gimp-8bit.c (conv_rgbaF_linear_rgb8_linear), diff --git a/babl/babl-internal.h b/babl/babl-internal.h index 6d20b2b..c7d6110 100644 --- a/babl/babl-internal.h +++ b/babl/babl-internal.h @@ -30,12 +30,15 @@ #include #include #include +#include #include "assert.h" #undef _BABL_INTERNAL_H #include "babl.h" #define _BABL_INTERNAL_H +#include "config.h" + #include "babl-list.h" #include "babl-hash-table.h" #include "babl-db.h" @@ -49,6 +52,13 @@ #define random rand #endif +/* fallback to floor function when rint is not around */ +#ifndef HAVE_RINT +# define rint(f) ((long) floor (((double) f) + 0.5)) +#endif + + + Babl * babl_conversion_find (const void *source, const void *destination); double babl_conversion_error (BablConversion *conversion); diff --git a/babl/base/type-u16.c b/babl/base/type-u16.c index e4a22e3..bbb548f 100644 --- a/babl/base/type-u16.c +++ b/babl/base/type-u16.c @@ -21,8 +21,7 @@ #include #include -#include "babl.h" -#include "babl-ids.h" +#include "babl-internal.h" #include "babl-base.h" diff --git a/babl/base/type-u32.c b/babl/base/type-u32.c index 4e32fbb..cb1854a 100644 --- a/babl/base/type-u32.c +++ b/babl/base/type-u32.c @@ -21,8 +21,7 @@ #include #include -#include "babl.h" -#include "babl-ids.h" +#include "babl-internal.h" #include "babl-base.h" static inline long diff --git a/babl/base/type-u8.c b/babl/base/type-u8.c index e6ae557..592258f 100644 --- a/babl/base/type-u8.c +++ b/babl/base/type-u8.c @@ -20,8 +20,7 @@ #include #include -#include "babl.h" -#include "babl-ids.h" +#include "babl-internal.h" #include "babl-base.h" #include diff --git a/configure.ac b/configure.ac index 3e7a2cb..7384c8f 100644 --- a/configure.ac +++ b/configure.ac @@ -247,8 +247,10 @@ AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes") dnl =========================================================================== AC_SEARCH_LIBS([dlopen], [dl]) +AC_SEARCH_LIBS([rint], [m]) AC_REPLACE_FUNCS(gettimeofday) +AC_CHECK_FUNCS(rint) #BABL_PATH_SEPARATOR must be defined as a character. #BABL_DIR_SEPARATOR must be defined as a string. diff --git a/extensions/CIE-Lab.c b/extensions/CIE-Lab.c index 7f5f59f..47cbbd5 100644 --- a/extensions/CIE-Lab.c +++ b/extensions/CIE-Lab.c @@ -16,12 +16,11 @@ * . */ -#include "config.h" - #include #include #include "babl.h" +#include "extensions/util.h" int init (void); diff --git a/extensions/gegl-fixups.c b/extensions/gegl-fixups.c index 65482bf..084db94 100644 --- a/extensions/gegl-fixups.c +++ b/extensions/gegl-fixups.c @@ -39,11 +39,10 @@ * TODO: error diffusion, */ -#include "config.h" - #include "babl.h" #include "base/util.h" +#include "extensions/util.h" #define INLINE inline diff --git a/extensions/gggl-lies.c b/extensions/gggl-lies.c index 87667dd..0fcfd7b 100644 --- a/extensions/gggl-lies.c +++ b/extensions/gggl-lies.c @@ -23,12 +23,11 @@ * Copyright 2003, 2004, 2005 Øyvind Kolås */ -#include "config.h" - #include #include #include "babl.h" +#include "extensions/util.h" #define INLINE inline diff --git a/extensions/gggl.c b/extensions/gggl.c index f8fc250..e24e51c 100644 --- a/extensions/gggl.c +++ b/extensions/gggl.c @@ -21,12 +21,11 @@ * Copyright 2003, 2004, 2005 Øyvind Kolås */ -#include "config.h" - #include #include #include "babl.h" +#include "extensions/util.h" #define INLINE inline diff --git a/extensions/gimp-8bit.c b/extensions/gimp-8bit.c index e2faf05..7868cb8 100644 --- a/extensions/gimp-8bit.c +++ b/extensions/gimp-8bit.c @@ -19,13 +19,12 @@ * . */ -#include "config.h" - #include #include "babl.h" #include "base/util.h" +#include "extensions/util.h" #define INLINE inline diff --git a/extensions/util.h b/extensions/util.h index 0a9e7c6..4836dfe 100644 --- a/extensions/util.h +++ b/extensions/util.h @@ -22,6 +22,13 @@ #include #include +#include "config.h" + +#ifndef HAVE_RINT +# define rint(f) ((long) floor (((double) f) + 0.5)) +#endif + + #define BABL_PLANAR_SANITY \ { \ assert(src_bands>0); \ -- 2.30.2